/* header */
#app header {
  width: 100%;
  height: 82px;
  background: #ffffff;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 0 40px;
}
#app header .logo {
  margin-top: 28px;
  flex-shrink: 0;
  margin-right: 16px;
}
#app header .img-logo {
  width: 92px;
  cursor: pointer;
}
#app header .img-title {
  width: 118px;
}
#app header .header-right {
  flex-shrink: 0;
  margin-top: 20px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
#app header .icon-list {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  position: relative;
  font-size: 12px;
  color: #4e5969;
  line-height: 20px;
}
#app header .icon-item {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-right: 24px;
  cursor: pointer;
}
#app header .icon-item:hover {
  color: #00b968;
}
#app header .icon-list::after {
  content: "";
  position: absolute;
  right: 0;
  top: 4px;
  width: 1px;
  height: 40px;
  background: #edeeee;
}
#app header .icon-item .icon-list-icon {
  width: 24px;
  margin-bottom: 4px;
}
#app header .user-info {
  position: relative;
  margin-left: 24px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 14px;
  color: #1b1f26;
  line-height: 22px;
  cursor: pointer;
}
#app header .img-avatar {
  width: 40px;
  height: 40px;
  background: #f0f7f4;
  border-radius: 50%;
  font-weight: 500;
  font-size: 26px;
}
#app header .user-name {
  margin-left: 8px;
}
#app header .icon-menu {
  margin-left: 8px;
  width: 20px;
}
#workstationItemTel:hover .tel {
  display: block;
}
#workstationTel {
  padding-top: 10px;
  position: absolute;
  z-index: 10;
  top: 100%;
  left: -50px;
}
#app .workstation-tel {
  position: relative;
  display: none;
  width: 152px;
  height: 56px;
  background: #ffffff;
  border-radius: 6px 6px 6px 6px;
  border: 1px solid #ededed;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
  font-size: 16px;
  color: #00b968;
  line-height: 24px;
  text-align: center;
  cursor: text;
  padding-top: 16px;
}
#app .workstation-tel::after {
  content: "";
  width: 8px;
  height: 8px;
  background: #ffffff;
  border: 1px solid transparent;
  border-top-color: #ededed;
  border-left-color: #ededed;
  position: absolute;
  top: -5px;
  left: 70px;
  transform: rotate(45deg);
}
#workstationUserInfo:hover #workstationUserMenu {
  display: block;
}
#workstationUserMenu {
  position: absolute;
  z-index: 10;
  top: 100%;
  left: -10px;
  padding-top: 10px;
  display: none;
}
#app .user-menu {
  width: 128px;
  height: 236px;
  background: #ffffff;
  border-radius: 6px 6px 6px 6px;
  border: 1px solid #ededed;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
  padding: 16px 0;
  text-align: center;
  font-size: 16px;
  color: #1d2129;
  line-height: 24px;
}
#app .menu-item {
  display: block;
  margin-bottom: 12px;
}
#app .menu-item:hover {
  color: #00b968;
}
#app .menu-item:last-child {
  margin-bottom: 0;
}
#app .menu-item.menu-item-exit {
  color: #ff4448;
}
#app .menu-item.menu-item-exit:hover {
  font-weight: bold;
}
#app footer {
  width: 100%;
  height: 120px;
  background-color: rgb(31, 41, 55);
}

/* nav */
#app .map-nav {
  width: 100%;
  height: 36px;
  background-color: #1b9530;
}
#app .map-nav-content {
  width: 1200px;
  height: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#app .map-nav-content .map-nav-list {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
#app .map-nav-content .map-nav-item {
  margin-right: 24px;
  color: #fff;
  font-size: 14px;
  cursor: pointer;
}
#app .map-nav-content .map-nav-item:last-child {
  margin-right: 0;
}
#app .map-nav-content .map-nav-item:hover {
  text-decoration: underline;
}

/* main */
#app .panel-title {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  color: #1b9530;
  font-size: 18px;
}
#app .panel-title .icon-box {
  width: 24px;
  height: 24px;
  background: #1b9530;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 8px;
}
#app .panel-title .panel-title-icon {
  width: 18px;
}
#app .panel-list {
  display: flex;
  margin-top: 16px;
  justify-content: flex-start;
  align-items: center;
}
#app .panel-item {
  width: 384px;
  background-color: rgb(236, 253, 245);
  border-radius: 8px;
  margin-right: 16px;
  padding: 16px;
}
#app .panel-item:nth-child(1) {
  background-color: rgb(236, 253, 245);
  /* border-left: 4px solid #1b9530; */
}
#app .panel-item:nth-child(1) .item-title {
  color: #1b9530;
}
#app .panel-item:nth-child(2) {
  background-color: rgb(239, 246, 255);
  /* border-left: 4px solid rgb(29, 78, 216); */
}
#app .panel-item:nth-child(2) .item-title {
  color: rgb(43, 79, 179);
}
#app .panel-item:nth-child(3) {
  background-color: rgb(250, 245, 255);
  /* border-left: 4px solid rgb(126, 34, 206); */
}
#app .panel-item:nth-child(3) .item-title {
  color: rgb(154, 82, 218);
}
#app .panel-item:last-child {
  margin-right: 0;
}
#app .panel-item .panel-item-icon {
  width: 20px;
  margin-right: 8px;
}
#app .panel-item .item-title {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  font-size: 16px;
  font-weight: bold;
}
#app .panel-item-desc {
  margin-top: 12px;
  line-height: 24px;
}

#app .panel-bottom .panel-title .icon-box {
  background: none;
}
#app .panel-bottom .panel-item {
  height: 118px;
  background: rgb(249, 250, 251);
  border: 1px solid rgb(229, 231, 235);
}
#app .panel-bottom .panel-item .icon-box {
  width: 30px;
  height: 30px;
  background: rgb(209, 250, 229);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 8px;
}
#app .panel-bottom .panel-item:nth-child(1) .icon-box {
  background: rgb(209, 250, 229);
}
#app .panel-bottom .panel-item:nth-child(2) .icon-box {
  background: rgb(219, 234, 254);
}
#app .panel-bottom .panel-item:nth-child(3) .icon-box {
  background: rgb(243, 232, 255);
}
#app .panel-bottom .panel-item .panel-item-icon {
  margin: 0;
}
#app .panel-bottom .panel-item .item-title {
  color: #333333;
  font-weight: bold;
}
#app .panel-bottom .panel-bottom-desc {
  color: rgb(75, 85, 99);
}
#app .panel-button {
  display: block;
  width: 250px;
  margin: 30px auto 0;
  padding: 12px 24px;
  background-color: #4caf50;
  color: white;
  font-size: 16px;
  font-weight: 600;
  text-align: center;
  border-radius: 4px;
  cursor: pointer;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  position: relative;
  transition: all 0.3s ease;
}
#app .fixed-bottom .panel-button {
  margin-top: 0;
}
#app .panel-button:hover {
  background-color: #45a049;
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

#app .page-content {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
#app .panel-search {
  flex-shrink: 0;
  width: 300px;
  height: 800px;
  margin-right: 16px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}
#app .panel-map {
  flex-grow: 1;
  height: 800px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}
#app .drawer-container {
  position: absolute;
  top: 50px;
  right: 0;
  width: 300px;
  height: 750px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  background: #ffffff;
}
#app .drawer-scroll {
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 12px;
}
#app .drawer-content {
  padding-bottom: 80px;
  padding-top: 16px;
}

#app .page-content .panel {
  padding: 0;
  border-radius: 10px;
}
#app .page-content .panel-title {
  width: 100%;
  height: 50px;
  background: #1b9530;
  border-radius: 10px 10px 0 0;
  color: #fff;
  padding: 0 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#app .page-content .panel-title-icon {
  width: 20px;
  margin-right: 8px;
}
#app .title-button {
  padding: 2px 12px;
  background: #ffffff;
  color: #1b9530;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 14px;
  border-radius: 6px;
  cursor: pointer;
}
#app .title-button:hover {
  opacity: 0.9;
}
#app .title-button .el-icon {
  margin-right: 4px;
}
#app .title-left {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

#app .search-box {
  margin-top: 16px;
  padding: 0 16px;
}
#app .search-box .el-button {
  padding: 0 10px;
}
#app .search-box .el-button [class*="el-icon-"] + span {
  margin-left: 0;
}
#app .el-input-group__append,
#app .el-input-group__prepend {
  background-color: #1b9530;
  color: #fff;
}
#app .scroll-box {
  height: 660px;
  overflow-x: hidden;
  overflow: auto;
  margin-top: 16px;
}
#app .search-list {
  padding: 0 16px;
}
#app .search-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 8px;
  border-bottom: 1px dashed rgb(229, 231, 235);
  font-size: 12px;
  cursor: pointer;
}
#app .search-item:hover {
  color: #1b9530;
}
#app .text-num {
  padding: 4px 8px;
  background: rgb(236, 253, 245);
  color: rgb(6, 95, 70);
  border-radius: 4px;
  font-weight: bold;
}

#app .slide-leave-to,
#app .slide-enter {
  transform: translateX(100%);
}

#app .slide-enter-active,
#app .slide-leave-active {
  transition: all 0.5s;
}

/* map */
#app .map-box {
  width: 100%;
  height: 750px;
}
#app .map-marker-box {
  width: 50px;
  height: 50px;
  background: url(../images/marker.png) no-repeat center/ contain;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 8px;
  font-size: 10px;
  text-align: center;
  line-height: 14px;
  color: #ffffff;
  position: relative;
}

#app .map-marker-box1 {
  width: 200px;
  height: 40px;
  background: #ffffff;
  border-radius: 20px;
  border: 1px solid #1b9530;
  padding: 0 16px;
  font-size: 14px;
  color: #1b9530;
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

#app .map-marker-title {
  width: 150px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#app .map-marker-box1 .map-marker-pos {
  position: absolute;
  top: 34px;
  left: 92px;
  width: 10px;
  height: 10px;
  background: #ffffff;
  border: 1px solid transparent;
  border-bottom-color: #1b9530;
  border-left-color: #1b9530;
  transform: rotate(-45deg);
}
#app .map-marker-icon {
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 4px;
  background: url(../images/marker.png) no-repeat center/ contain;
}
#app .empty {
  color: #666666;
  text-align: center;
}
#app .map-marker-box1-active {
  background: #1b9530;
  color: #ffffff;
}
#app .map-marker-box1-active .map-marker-pos {
  background: #1b9530;
}
#app .map-marker-box1-active .map-marker-icon {
  background: url(../images/marker1.png) no-repeat center/ contain;
}

#app .btn-close {
  width: 24px;
  height: 24px;
  background: #ffffff;
  border-radius: 50%;
  position: absolute;
  top: 8px;
  right: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  cursor: pointer;
  z-index: 10;
}

#app .btn-close:hover {
  color: #ff4448;
}
#app .drawer-container .text-name {
  font-size: 16px;
  font-weight: bold;
  line-height: 28px;
}
#app #video {
  width: 100%;
  height: 140px;
  object-fit: cover;
  border-radius: 5px;
  margin-top: 16px;
}
#app .image-box {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}
#app .image-box .image {
  width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: 5px;
  background: #eee;
}
#app .detail-info {
  margin-top: 16px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgb(229, 231, 235);
}
#app .detail-item {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  margin-bottom: 8px;
  font-size: 14px;
  line-height: 20px;
}
#app .text-label {
  width: 80px;
  flex-shrink: 0;
  color: rgb(75, 85, 99);
}
#app .text-value {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
#app .icon-detail {
  width: 64px;
  margin-left: 8px;
}
#app .message-box {
  margin-top: 16px;
}
#app .message-title {
  font-size: 16px;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
#app .message-title-icon {
  width: 20px;
  margin-right: 8px;
}
#app .message-item {
  display: inline-block;
  width: 100%;
  padding: 12px;
  margin-top: 12px;
  background: #f5f5f5;
  border-radius: 8px;
  line-height: 20px;
}
#app .message-item .text-1 {
  margin-bottom: 8px;
}
#app .message-item:nth-child(1) {
  background: rgb(254, 252, 232);
  border-left: 4px solid rgb(250, 204, 21);
}
#app .message-item:nth-child(1) .text-1 {
  color: rgb(133, 77, 14);
}
#app .message-item:nth-child(2) {
  background: rgb(240, 253, 244);
  border-left: 4px solid rgb(74, 222, 128);
}
#app .message-item:nth-child(2) .text-1 {
  color: rgb(22, 101, 52);
}
#app .message-item:nth-child(3) {
  background: rgb(239, 246, 255);
  border-left: 4px solid rgb(96, 165, 250);
}
#app .message-item:nth-child(3) .text-1 {
  color: rgb(30, 64, 175);
}
#app .dialog-container {
  padding: 16px;
}

#app .el-dialog .el-button:hover,
#app .el-dialog .el-button:focus {
  color: #1b9530;
  background-color: #1b952f10;
  border-color: #1b9530;
}
#app .el-dialog .el-button--primary {
  color: #fff;
  background-color: #1b9530;
  border-color: #1b9530;
}
#app .el-dialog .el-button--primary:hover,
#app .el-dialog .el-button--primary:focus {
  color: #fff;
  background-color: #28af3e;
  border-color: #28af3e;
}
#app .el-dialog .el-input__inner:focus {
  border-color: #1b9530;
  outline: 0;
}

#app .el-dialog__headerbtn:focus .el-dialog__close,
#app .el-dialog__headerbtn:hover .el-dialog__close {
  color: #1b9530;
}

#app .fixed-bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 16px 0;
  background: #ffffff;
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
}

#app .img-vip {
  width: 80px;
  margin-left: 4px;
  transform: translate(0, 2px);
}
